<?php
/**
 * Transferencia
 * @author benrainir
 * Classe para gerenciar a entidade Transferencia
 */
class Transferencia extends BaseModel
{
	protected $transferenciaid;		
	protected $vagaid ;
	protected $lotacaoid ;		
	protected $ativa ;
	protected $data ;
	protected $operadorid;

    const tablename = "transferencia";
    const tablekey = "transferenciaid";
    const tablesequence = "transferencia_transferenciaid_seq";
         
    /**
     * @return Lotacao 
     */
    public function getLotacao(){
    	return new Lotacao($this->lotacaoid);
    }
    
 	/** 
 	 * @return Vaga 
     */
    public function getVaga(){
    	return new Vaga($this->vagaid);
    }
    
    /** 
     * @return Operador
     */
    public function getOperador(){
    	return new Operador($this->operadorid);
    }
    
    /**
     * Retorna o historico da carencia mais atual
     * @return CarenciaHistorico
     */
    public function getTransferenciaHistoricoAtual(){
    	$hist = new TransferenciaHistorico();
    	return $hist->getHistoricoAtual($this->transferenciaid);
    }
        
    public function inserirHistorico($statusid, $parecer = NULL)
    {
        if (!$this->getTableKeyValue()) {
            throw new Exception('Transferência inválida: nenhum ID encontrado.');
        }
        
        global $usuario;
        
        $transferenciaHistorico = new TransferenciaHistorico();
		$transferenciaHistorico->transferenciaid = $this->transferenciaid;
		$transferenciaHistorico->dataregistro = date('Y-m-d H:i:s');
		$transferenciaHistorico->observacao =  $parecer;
		$transferenciaHistorico->statusid = $statusid;
		$transferenciaHistorico->operadorid = $usuario->operadorid;	
		$transferenciaHistorico->salvar();
    }
}
?>